﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using Controller;
using Interface;

// Dette vindue er lavet af Gruppe 4 DM12a
namespace BookingSystem
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        BookingController minBookingController; // vi henter bookingcontrolleren, men undgår at instantiere den hver gang
        decimal pris = 0; // en variabel som holder fast på den samlede pris i forbruget, den er nulstillet.

        public Window1(BookingController minBookingController)
        {
            InitializeComponent();

            this.minBookingController = minBookingController;
            lbExtra.ItemsSource = null;
            lbExtra.ItemsSource = minBookingController.TilbehørList(); // Vi henter listerne fra bookingcontrolleren

            cbForbrug.ItemsSource = null;
            cbForbrug.ItemsSource = minBookingController.ForbrugList();
        }

        private void btnTilføj_Click(object sender, RoutedEventArgs e)
        {
            // Hvis listboxen ikke er tom skal den udføre if-sætningen
            if (lbExtra.SelectedItem != null)
            {   
                ITilbehør iTilbehør = (ITilbehør)lbExtra.SelectedItem; // vælg et tilbehør i listboxen
                minBookingController.FindTilbehør(iTilbehør.tilbehørId); // metoden findtilbehør finder den valgte tilbehør vha id
                pris = minBookingController.EkstraTilbehør(iTilbehør.Pris); // derefter tilføjes prisen på tilbehøret til forbruget.
                txtSPris.Text = pris.ToString("c"); 
            }
            else
            {
                MessageBox.Show("Du skal vælge noget tilbehør");
            }
        }

        private void cbForbrug_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // hvis cbforbrug ikke er tom skal den udføre if-sætningen, som har en liste med forbrug og viser deres samlede pris i textbox
            if (cbForbrug.SelectedItem != null)
            {
                IForbrug forbrug = (IForbrug)cbForbrug.SelectedItem;

                minBookingController.FindForbrug(forbrug.ForbrugId);
                pris = forbrug.Pris;

                txtSPris.Text = pris.ToString("c");
            }
        }
    }
}
